Within a telecommunications network, a switching device couples originating and terminating stations for a call. While the call is in progress, the switching device captures various types of information regarding the call. The captured information is then written to a file which contains information related to a number of calls handled by the switching device. Later, the file is transferred to a computer system for processing. There, the information contained in the file may be used for billing or other purposes.
The collected information includes such data as timestamps of the current time of day, subscriber number and address digits dialed by the subscriber, information on the originating and terminating agents used in the call and other call information. The collected data is stored in a per-call data structure commonly referred to as a recording unit (or "RU"). When the call has been disconnected, the collected information is delivered to a formatter. There, the raw information is arranged into a pre-determined data structure and stored for later use.
Oftentimes, the formatted records are stored in device independent recording package (or "DIRP") files. A DIRP file consists of a number of 2,048 byte blocks, each holding as many formatted records as possible. For the information contained in the DIRP file to be correctly processed, additional types of formatted records, known as "event records", are also stored in the DIRP file block. These event records may include block header, graceful start, graceful end, emergency start, system restart and clock change headers.
Existing techniques for storing formatted records are very inefficient. For example, all formatted call detail records (or "CDRs") contain the same fields. Since each call is different, however, various fields are left empty if the call processing event associated with that field never occurs. Furthermore, all records maintained in a DIRP file block (CDRs and event records) are fixed at the same length--typically between 60 and 80 words--the length of a formatted CDR record. As a result, therefore, other records maintained in the DIRP file block, must be null padded to that word length. This null padding is particularly wasteful when one considers that many event records, for example a graceful start record (or "GSR") may be stored using three words. Finally, when new services are offered to subscribers, the size of the CDR record must be increased to accommodate data collected regarding use of the newly added services. Such alterations to the format of the CDR record force service providers into modifying their CDR processing systems, even when new service fields are not needed by a particular service provider.